<!doctype html>
<!--
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
  <head>
    <title>bind properties compatible with object observe</title>
    <script src="../../../webcomponentsjs/webcomponents.js"></script>
    <link rel="import" href="../../polymer.html">
    <script src="../../../tools/test/htmltest.js"></script>
    <script src="../../../tools/test/chai/chai.js"></script>
  </head>
  <body>
    <x-test id="test"></x-test>
    <polymer-element name="x-inner" attributes="bar">
      <template>
        {{bar.foo}}
      </template>
      <script>
        Polymer('x-inner', {
          barChanged: function() {
            chai.assert.equal(this.bar.foo, 'foo!');
            done();
          }
        });
      </script>
    </polymer-element>

    <polymer-element name="x-test">
      <template>
        <x-inner id="inner" bar="{{bar}}"></x-inner>
      </template>
      <script>
        Polymer('x-test', {
          ready: function() {
            this.bar = {foo: 'foo!'};
          }
        });
      </script>
    </polymer-element>
  </body>
</html>
